
# raise关键字
"""
1. 概念 ：自己主动抛出异常 ，使用raise
2. 格式 ： raise 异常内容
"""


# 编写一个被0的异常
def divide(a,b):
    if b == 0:
        raise ZeroDivisionError("被0整除，这是不允许的")
    else:
        return a / b


try:
    result = divide(10,0)
    print("result:",result)
except ZeroDivisionError as e:
    print("被零除了:",e)
except Exception as e:
    print("未知异常:",e)


# 自定义异常类
class CustomError(Exception):

    # 构造方法
    def __init__(self,message):
        self.message = message


def validate_input(data):
    # 验证输入数据是否符合要求
    if not isinstance(data,str):
        raise CustomError("输入数据必须是字符串类型")
    elif len(data) < 5:
        raise CustomError("输入字符串长度必须至少为5个字符")
    else:
        return True



try:
    data = input("请输入一个字符串:")
    if validate_input(data):
        print("输入数据有效.")
    else:
        print("输入数据无效")
except CustomError as e:
    print("不符合输入错误：{}".format(e.message))


x= input("请输入一个数字：")
vls = int(x)